export function numberToCurrencyNo(value) {
    
    if (value == null || value === void 0 || value === '') return
    if(typeof value !== 'number' && isNaN(value)) return value
    // value = Number(value).toFixed(2)
        // 获取整数部分
    const intPart = Math.trunc(value)
        // 整数部分处理，增加,
    const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
        // 预定义小数部分
    let floatPart = ''
        // 将数值截取为小数部分和整数部分
    const valueArray = value.toString().split('.')
    if (valueArray.length === 2) { // 有小数部分
        floatPart = valueArray[1].toString() // 取得小数部分
        return intPartFormat + '.' + floatPart
    }
    return intPartFormat + floatPart
}

const MoneyTest = /((^[1-9]\d*)|^0)(\.\d{0,2}){0,1}$/;
//金额添加干分位
const comdify = function(n) {
        if (!n) return n;
        let str = n.split('.')
        let re = /\d{1,3}(?=(\d{3})+$)/g
        let n1 = str[0].replace(re, "$&,")
        return str.length > 1 && str[1] ? `${n1}.${str[1]}` : `${n1}.00`;
    }
    //去除千分位中的，
export function delcommafy(num) {
    if (!num) return num;
    num = num.toString();
    num = num.replace(/,/g, '');
    return num;
}
const valdateFn = function(rule, val, cb) {
        setTimeout(() => {
            if (val) {
                let inputVal = delcommafy(val)
                if (rule.test(inputVal)) {
                    cb()
                } else {
                    cb('只能是数字金额,最多两位小数')
                }
            }
            cb()
        })
    }
    // 验证金额数字可以为负数
const moneyValid = function(rule, val, cb) {
        valdateFn(/((^-?[1-9]\d*)|^-?0)(\.\d{0,2}){0,1}$/, val, cb);
    }
    // 验证金额数字不可以为负数
const moneyNValid = function(rule, val, cb) {
        valdateFn(MoneyTest, val, cb)
    }
    //取target输入的值
export function getlnputValue(el) {
    let inputVal = el.target.value || '';
    return comdify(delcommafy(inputVal));
}
    //取输入的值
export function getTextValue(el) {
    let inputVal = el || '';
    return comdify(delcommafy(inputVal));
}

//取输入的值
export function getCalculator(a,b,c,comdify=false) {
    console.log(a,b,c)
    if(comdify){
        a = delcommafy(a)
        b = delcommafy(b)
    }
    if(c=='-'){
        return Number((b-a).toFixed(2))
    }else if(c=='*'){
        return Number((a*b).toFixed(2))
    }else if(c=='+'){
        return Number((a+b).toFixed(2))
    }else if(c=='/'){
        return Number((b/a).toFixed(2))
    }
}
export function keepfixed(value, num=2){
    if(value==null || value === void 0 || value === '') return
    value = Number(value).toFixed(num)
    return value
}